This invention relates to storage of redundant data in a plurality of data storage libraries, the data storage libraries having both cache storage and backing storage, and, more particularly, to accessing data volumes from the data storage libraries.
Data processing systems comprising at least one host typically require a large amount of data storage. If the data, typically stored as a data volume, is not immediately required by the hosts, for example, if the data volume is infrequently accessed, the storage of the data volume may be on removable rewritable data storage media, such as magnetic tape or optical disk, and the data volumes may be written and or read by means of a data storage drive.
The data storage drive is typically coupled to the host, or processing unit, by means of a peripheral interface in which commands are directed only from the processing unit to the data storage drive, and the data storage drive responds to those commands, performing the commanded functions. No commands can be sent by the data storage drive to the coupled processing unit. Typically, the commands are performed by a device controller.
If a large amount of data is to be stored and accessed on occasion, data storage libraries are employed. Such data storage libraries typically provide efficient access to large quantities of data volumes stored in a backing storage of removable data storage media, the media stored in storage shelves which are accessed by robots under the control of robot controllers. Due to the large amount of stored data, typically, a plurality of hosts make use of the same data storage library, and a plurality of data storage drives are included in the library to allow access by the hosts. A library manager, which may comprise the same processor as the robot controller, typically tracks each data volume and the removable data storage media on which it is stored, and tracks the storage shelf location of each data storage media. Herein, a library manager, either with or without the robot controller, is defined as a xe2x80x9ccontrollerxe2x80x9d or a xe2x80x9clibrary controllerxe2x80x9d for the data storage library, as is the xe2x80x9ccontrollerxe2x80x9d for a data storage device as discussed above.
If the data storage media, subsequent to being accessed, is likely to be reaccessed, it is advantageous to employ data storage libraries having both cache storage and backing storage. The data storage library will access the data volume of the removable media from the backing storage and will temporarily store the data volume in the cache storage so that it can be immediately reaccessed. The removable media may then be returned to a storage shelf, and the data volume updated while it is in cache storage without the need to reaccess the removable media. The cache storage is typically limited in capacity, requiring that the data volumes be migrated to backing storage so as to free space in the cache storage. Typically, a least recently used (LRU) algorithm is employed to migrate data volumes out of cache storage to backing storage.
It is also desirable to provide a level of redundancy of the data to provide constant access to data volumes, in the event a data storage library or a communication path to a data storage library becomes unavailable.
An example of a data storage library system for redundantly storing and accessing data volumes stored on removable data storage media in a plurality of data storage libraries is described in the incorporated coassigned K. F. Day III et al application. The library controller of each library provides an updatable synchronization token directly associated with each data volume. A plurality of directors are provided, each separate from and coupled to the hosts and each separate from and coupled to each data storage library. Each director responds to separate, partitioned data storage drive addresses addressed by the hosts. The responding director supplies each data volume supplied from a host to all of the data storage libraries, and updates each synchronization token directly associated with the supplied data volume. Thus, the directors store duplicate copies of the data volume in the data storage libraries without involvement by the host. In most data processing applications, it is critical to access the most current data. Hence, the currency of the data volumes are each tracked by means of the directly associated synchronization token, and the synchronization token is tracked by the directors.
The time to access a data volume in the cache storage may be faster than the time to access a data volume in the backing storage by an order of magnitude. This is because access to data volumes in cache storage is accomplished at electronic or hard drive speeds, while the robot must fetch the data storage media containing the data volume from its storage shelf, and move the data storage media to a data storage drive, then the data storage media is loaded in the drive and the drive locates the requested data volume. It is thus advantageous to access data volumes in cache storage, a xe2x80x9ccache hitxe2x80x9d rather than to have to wait for the extra time to access data volumes in the backing storage, a xe2x80x9ccache missxe2x80x9d.
In the incorporated coassigned K. F. Day III et al application, the director responds to a recall request for an identifiable data volume by requesting all of the synchronization tokens from the coupled data storage libraries pertaining to that data volume. The director employes the. synchronization token to determine a currently updated synchronization token for the identifiable data volume, and accesses the identifiable data volume at the data storage library having a currently updated synchronization token.
If the currently updated synchronization token is directly associated with a copy of the data volume in backing storage, a xe2x80x9ccache missxe2x80x9d, the data volume will be accessed at a slow rate as compared to accessing the data volume with a xe2x80x9ccache hitxe2x80x9d.
An object of the present invention is to increase the accessing performance of data volumes from data storage libraries in a redundant copy synchronization token tracking system.
Disclosed are a data storage library, and a method which may be implemented in a programmable computer processor by a computer program product, for accessing identifiable data volumes from a plurality of data storage libraries in response to recall requests. The data storage libraries store redundant copies of the data volumes, and have cache storage and backing storage. The data volumes are each directly associated with an updatable synchronization token, the synchronization token indicating the relative update levels of the directly associated redundant copies. The data storage libraries are coupled to a plurality of directors, and the directors, in forwarding the recall requests, additionally request the directly associated synchronization tokens. A data storage library migrates the data volumes from the cache storage to the backing storage.
In accordance with the present invention, the data storage library maintains the synchronization token directly associated with the data volume; identifies each of the data volumes upon being stored in the cache storage of the data storage library; and identifies each of the data volumes migrated to the backing storage of the data storage library. Then, the data storage library responds to a recall request for one of the redundant copies of the identifiable data volumes, providing, with the synchronization token directly associated with the identifiable data volume, an indicator, from the identifying steps, which indicates whether the identifiable data volume is identified as currently stored in the cache storage or the backing storage. Thus, the performance of the accessing is increased by a selection of a redundant copy of the identifiable data volume identified as stored in the cache storage rather than a copy identified as stored in the backing storage.
For a fuller understanding of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings.